History of IXP Manager

Our History

2005

IXP Manager was originally an internal INEX tool and web portal written in PHP4 (with PEAR extensions) by Nick Hilliard, INEX's CTO, in 2005. It was a basic database frontend that did simple but useful database object management.

Part of this original system was a large amount of Perl scripts, Nick's language of choice! Those scripts pulled data from the database and created configuration files for route collectors, route servers, graphing, monitoring, etc. In fact Nick probably had created the first fully automated route server configuration system which included IRRDB filtering. Moreover, never in the history of INEX have its route servers been manually configured or unfiltered (insecure). These are the foundations upon which the modern IXP Manager is built.

From a development perspective, a major achievement of Nick’s original system was the database design (the schema). The core of that schema has stood the test of time and is still the core of IXP Manager as it is today, 15 years later.

2007

Barry O'Donovan joined INEX in 2007 and started to expand IXP Manager using what was becoming a more modern web development paradigm – Model/View/Controller (MVC). For the controller, a popular PHP framework called Zend Framework was used. A database library called Doctrine ORM V1 provided the model and Smarty, the original PHP templating library, was our view element.

The purpose of the new development work was to modernise IXP Manager, make it more useful for internal operations and to provide a better portal for INEX's members. Over the next three years, the growth of IXP Manager was very much organic and responded to INEX's internal day-to-day needs and technical developments.

2010

In 2010, INEX realised that IXP Manager was something it could contribute back to the IXP ecosystem; one where IXPs were generally founded just like INEX – by a small group of like-minded companies and people volunteering their time, knowledge, effort and equipment. These people were mostly acting without ‘profit motive’ for the good of the internet.

It is in the same spirit that INEX, by a decision of its Board of Directors, open sourced the IXP Manager platform in 2010. This decision was made for the good of the internet; to give back to the open-source community that has given INEX so much; and to hopefully build some brand awareness of INEX. It was our fervent hope that it would make an excellent platform to help other IXPs, especially those just starting out, to scale up quickly and also provide guidance on best-practice technical designs.

With that approval from the Board, a code audit began to make IXP Manager suitable for a free and open source release. This included a security audit; generalising or removing / splitting out INEX specific features; de-INEX-ifying the text, emails, messaging, logos; and writing installation instructions.

2011

INEX finally released IXP Manager V2 in May 2011 under the GPL2 license (GNU Public License v2). This license means anyone can use the software free of charge but also that they should contribute back any improvements that they may make.

Of course just open sourcing a project doesn’t mean it becomes successful. In the 2011 launch, the necessary infrastructure and support around IXP Manager such as presentations at IXP conferences, mailing lists for user support, complete and more detailed documentation were overlooked and not many IXPs evaluated the project.

2012

Those oversights from the initial release were all corrected and an updated version, IXP Manager v3, was released in 2012. Of course V3 wasn't just a "marketing exercise" - it contained another year's worth of features as well as a major upgrade on the model component of the MVC. Doctrine ORM V1 was abandoned by its developers and Doctrine ORM V2 was released in its place. V2 was a major paradigm shift and required thousands of lines of IXP Manager to be rewritten. Doctrine2 was still in use through to IXP Manager V5.

The frontend was also redone using Bootstrap, a CSS framework for rapidly scaffolding the design aspect of websites. This brought a completely new and fresh look and feel to IXP Manager.

During this time, INEX - via Nick and Barry - also started collaborating with the Internet Society (ISOC) - and particularly Jane Coffin - to share knowledge and experiences and to assist new IXPs form and use IXP Manager. Particularly in eastern Europe and Africa.

2013 - 2016

Development of IXP Manager continued apace during these four years with seven feature releases of IXP Manager and many bug fix releases. We continued to present IXP Manager at appropriate forums such as RIPE and Euro-IX as well as working with organisations like ISOC.

By the end of 2016, there were ~35 IXPs that were known to INEX to be using IXP Manager.

2013

LONAP, an IXP in London, UK, started using IXP Manager in June 2013. This is a significant milestone as this is the first time IXP Manager was used by an IXP with more members than INEX (over the years, LONAP consistently has had about twice the number of members as INEX). The IXP Manager core team have worked closely with our colleagues in LONAP to ensure IXP Manager continues to scale for larger IXPs. LONAP have also contributed to the development of specific features over the years and continue to be a vocal supporter of the project. Thanks Richard, Will and Rob!

2015

From around the middle of 2015, quietly in the background, Barry began replacing Zend Framework. It had been the foundation of IXP Manager for ten years by the time it was completely replaced and had been made end-of-life for some time before that.

A framework is the foundation of a web application and you can think of replacing a framework in the same way you might think about changing the foundations of your house - it's really hard! And it needs to be done in a slow and deliberate manner so as to keep all the old and the new elements working together.

The project migrated to what has since become the most popular PHP web application framework - Laravel. The work was finally released in 2017 and Barry presented it at the inaugural Laravel Live UK conference in London in 2018. He also wrote an article on the transition process for php[architect], a well known PHP publication. The migration saw Laravel and Zend Framework co-existing until Zend was finally removed completely during 2018 with Yann's help.

2016

As IXP Manager grew in popularity and use, it was becoming obvious to all at INEX that the on-going effort - development, support, project management and community engagement - was a cost that INEX should not bear alone. It is also important to remember that INEX is a member-owned IXP tasked with running an exchange in Ireland rather than a software development house.

In 2016, a sponsorship program was proposed by INEX to create a sustainable funding model for IXP Manager. The idea was to raise enough funds to hire and cover the costs of a full time developer over a three-year period. Along with the proposal document, a plan was also published for the first year of this development and a three-year road map. You can read that original document here.

The IXP Manager Sponsorship Program is a business unit of Island Bridge Networks Ltd (IBN) - a company registered in Ireland and owned by Nick and Barry - with INEX continuing to provide project management, quality control, support and some continued development. IBN run this program on a strictly not for profit basis. The funding document explains in detail how this all works.

By the end of the first year, the project had five sponsors. At the platinum tier (€15-25,000) there was the Internet Society (ISOC), Netflix and SwissIX; and at the bronze tier (€1-5,000), GRNET (later GRIX, the Greek internet exchange) and NIX (the Norwegian internet exchange) signed up.

Through this sponsorship, Yann Robin - a French PHP programmer working in Dublin at the time - joined Barry and Nick's team on December 12th 2016 as IXP Manager's first full-time developer.

2017

After talking about it for over a year, IXP Manager V4 was finally released in May 2017. Interestingly, it was actually released as V4.5 rather than V4.0 because INEX had been running and testing the Laravel framework version of IXP Manager for over a year in production and added many features along the way, bumping the internal versions.

When it was finally ready for release, BCIX and SwissIX upgraded with us in advance to help us test the process which in turn allowed us to write the upgrade documentation. Having other IXPs support the project in this way is of real benefit for the development team. Especially for major releases: it's critical to test upgrade procedures on someone else's system as INEX will have upgraded their system during development. It's also a great way to have your assumptions about how some IXPs set-up and use IXP Manager disproved!

This year also saw the IXP Manager Sponsorship Program launch an IXP Manager website (an older version of this one) and the migration of our documentation from GitHub wiki pages to a more suitable platform (first Read the Docs and later GitHub pages via MkDocs). Along with the website, a new logo was commissioned which is still the same one you see here today.

2017 also saw our first North American presentation on IXP Manager when Barry travelled for INEX to GPF 12.0 (the 12th Global Peering Forum) held in New York.

2018

2018 saw more minor releases of the V4 branch of IXP Manager. Development was mainly focused on completing the migration of all remaining Zend Framework controllers. This also gave us the opportunity to review every controller, its code and security, to rework the views, look-and-feel and design elements and make improvements across the board.

This was also the year that Barry Rhodes, the Chief Executive of INEX for 15 years, sadly died in September. Barry Rhodes always put his full support behind the IXP Manager project and especially the plan to open-source and release it to the community. The IXP Manager project was proud to honour Barry Rhodes' legacy by dedicating the milestone V5 release to his memory in May 2019.

All sponsors that came on board in 2017 stayed for 2018. The project also attracted support from Facebook at the gold tier (€10-15,000) which included a three-year commitment and a separate bursary to travel to countries and regions with a less-developed internet infrastructure; from APNIC (with a particular focus on RPKI) and STHIX (Stockholm's exchange) at the silver tier (€5-10,000); and InterLAN (the Romanian exchange) at the bronze tier.

2019

2019 saw two major milestone releases. First up was the Zend's dead, baby v4.9.0 release in January which saw the culmination of the project to remove Zend Framework that started in 2015. Then in May 2019, v5 was released and dedicated to Barry Rhodes.

The v5 release was significant and had a lot of new features but the most significant at the time was support for RPKI, a public key infrastructure framework designed to secure the internet's routing infrastructure through BGP.

On the community sponsorship front, the project was delighted to add both CIRA and INX-ZA (South Africa) at the silver tier; and NAMEX (Rome, Italy) to the bronze tier.

2019 also marked the 100th release of IXP Manager on September 30th and saw 80 IXPs around the world using it at that time.

2020

Two new innovations gave a new professional look to IXP Manager during 2020. The first was the launch of our new look website which gave the project a more professional finish as well and creating a central hub for all our content. The second was the launch of a comprehensive suite of video tutorials by Barry covering many aspects of the project.

The big news of 2020 was, with the launch of the new site, we trawled the internet and both verified our existing user database and found many more users bringing the number of IXPs using the site to 130. This was detailed in this news article.

From a release perspective, we pushed v5.3 with two-factor authentication and user session management, v5.4 with the document store, v5.5 with some tools to help analysis traffic levels during the Covid-19 pandemic, v5.6 with a per-member document store and v5.7 with miscellaneous small improvements and bug fixes.